﻿using System.Windows;

namespace Pixster.Slideshow.ShaderEffects
{
    public abstract class RandomTransition : TransitionEffect
    {
        public static readonly DependencyProperty RandomSeedProperty =
            DependencyProperty.Register("RandomSeed", typeof(double), typeof(RandomTransition),
                new PropertyMetadata(0.0, PixelShaderConstantCallback(1)));

        protected RandomTransition()
        {
            this.UpdateShaderValue(RandomSeedProperty);
        }

        public double RandomSeed
        {
            get
            {
                return (double)this.GetValue(RandomSeedProperty);
            }
            set
            {
                this.SetValue(RandomSeedProperty, value);
            }
        }
    }
}